package com.hqyj.service;

import com.hqyj.pojo.User;
import com.hqyj.pojo.UserAndRole;

import java.util.List;
import java.util.Map;

/**
 * @author YangGuo
 * @version 1.0
 * @date 2021/8/12 11:06
 */
public interface UserService {
    /**
     * @author chen3
     * @date 2021-08-12 13:24
     * @params username
     * @return User
     * @description 通过用户名查询单个用户对象
     */
    User getOneByUsername(String username);

    Map<String,Object> login(String username, String password);

    Map<String, Object> logout();
   /**
    * 插入方法
    * @param user
    * @return
    */
   Map<String ,Object> insetUser(User user);

   /**
    * 检查user是否有不正确值
    * @param user
    * @return
    */
   boolean checkUser(User user);

    /**
     * 通过电话找用户
     * @param phone
     * @return
     */
   User getOneByPhone(String phone);

    /**
     * 通过邮箱找用户
     * @param email
     * @return
     */
   User getOnebyEmail(String email);

    /**
     * 更新用户
     * @param user
     * @return
     */
   int updateUser(User user);

   /**
    * @author chen3
    * @date 2021-08-16 12:21
    * @params String username,String roleId
    * @return  Map<String,Object>
    * @description 修改用户角色信息
    */
   Map<String,Object> modifyRole(String username,Integer roleId);

   /**
    * @author chen3
    * @date 2021-08-16 13:03
    * @params 无
    * @return List<User>
    * @description 查询用户列表
    */
   List<UserAndRole> queryAll();
}
